package a_doubleWrite;

import util.TreeNode;

import java.util.ArrayList;
import java.util.List;

/**
 * 114. 二叉树展开为链表
 * 给你二叉树的根结点 root ，请你将它展开为一个单链表：
 * <p>
 * 展开后的单链表应该同样使用 TreeNode ，其中 right 子指针指向链表中下一个结点，而左子指针始终为 null 。
 * 展开后的单链表应该与二叉树 先序遍历 顺序相同。
 *
 * @author: luolidong
 * @create: 2021-07-25 10:02
 * @version: 1.0
 */
public class L114 {
    //方法1：先记录前序，再构造 n,n
//    List<TreeNode> list = new ArrayList<>();
//    public void flatten(TreeNode root) {
//        if (root == null) return;
//        preOrder(root);
//        TreeNode cur = root;
//        for (int i = 1; i < list.size(); i++) {
//            cur.right = list.get(i);
//            cur.left = null;
//            cur = cur.right;
//        }
//    }
//
//    public void preOrder(TreeNode root) {
//        if (root == null) return;
//        list.add(root);
//        preOrder(root.left);
//        preOrder(root.right);
//    }
}
